1. Field of Invention
The present invention relates to an event occurrence driven method and apparatus of a data processing system and more particularly to a method and an apparatus for timing and monitoring inactivity periods in said data processing system.
2. Description of the Prior Art
A timer is a device which can be set to furnish an interrupt or a timeout indication, at a specific time instant or after a selected time interval. Timers are required in communication systems in which protocols require supervision of a very large number of simultaneously occurring events to detect whether the events occurred within predetermined delays. Referring to FIG. 1, three operations are used to implement a timer. A START operation is requested to start the timer for a certain delay TO in order to supervise a corresponding event occurrence. A STOP operation is requested when the supervision of an event occurrence timing has to be interrupted before the expiration of the delay. However, while the timer is still running, a RESTART operation may be requested in order to delay the timing of the corresponding event occurrence by the same delay TO. A new START can be requested if the previous STOP has been performed or if the delay TO has expired and the timer has ended.
In a communication system, because the transmission of messages is very short, thousands of START, RESTART and STOP operations are requested at nearly the same time. Each time a RESTART is requested, many instructions are required from the operating system which impair the performance of the communication system.
In the prior art, each event occurrence is handled by a piece of hardware or a software program. In the case of a hardware implementation, a timing device is used in order not to interrupt frequently the processor. In case of a software implementation, the code calls the Operating System upon each event occurrence to RESTART a timer.
In the software case, great effort has been spent to reduce the CPU utilization induced by restarting the timer thereby improving the restart.sub.-- timer function performance in the Operating System. In Communication systems, this evolution is linked to the network speeds that grow much faster than processor performances. A European patent application number 92480130.1 discloses a method and an apparatus for implementing an efficient multi-users timer using control blocks which are adapted to the START, STOP and RESTART operations.
FIG. 2 shows an implementation of a hardware timing device in the prior art using a separate timer device 11 that notifies a main processor. In FIG. 2, a generic hardware system handles event occurrence 13 in an event handler machine 10. Upon each event occurrence 13, the event handler 10 raises a signal 14 that resets a hardware timing device 11. The hardware timing device 11 integrates the inactivity of signals for a period. If that period has expired (overflow), the timing device 11 interrupts the main processor 12 through an interrupt signal 15. Then an interrupt handler located in the interrupt processor 12 can now schedule the Inactivity process for that event occurrence. However, such a hardware implementation has a main drawback which is the cost of an external timing device 11.
FIG. 3 shows an implementation of a software timing device in the prior art using an interface queue 24. FIG. 3 describes a system in which each event occurrence 22 received by an event handler machine 20 generates an interrupt 23 directly to a main processor 21 or via an interface queue 24. In this implementation, the processor 21 now participates in the handling of the event occurrence 22. One of the software action during this process is to RESTART an inactivity timer by calling the Operating System. RESTART wastes a lot of processor's instructions overall when many events occur during the delay TO which degrades the performance of the communication system. For instance, previous enhancements in the Operating System (OS) of the IBM Communication Controller 3746-950 which allowed a 50% saving in the restart.sub.-- timer function path length, lead to 20% traffic improvement. In such a case, however, timers still cost another 20% of the traffic.
Therefore, in any event occurrence driven system, such as a telecommunication Network Node or any other devices that use a timer function of an attached operating system or a timing hardware device to monitor the inactivity of an event, it is desirable to avoid a request to the timer for a RESTART operation when the delay has not expired, especially when a frequent event does not occur during a very long period.